#ifndef DOUBLELINKLIST_H
#define DOUBLELINKLIST_H

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

typedef struct inode
{
    int data;
    struct inode* next;
    struct inode* front;
}doublelinklist;

typedef struct node
{
    doublelinklist* head;
    doublelinklist* tail;
    int len;
}doublelinklist_head_tail;

doublelinklist_head_tail* Createdoublelinklist();

int InsertIntodoublelinklist(doublelinklist_head_tail* p,int post,int data);

void Showdoublinklist(doublelinklist_head_tail*p);

int DeletePostdoublinklist(doublelinklist_head_tail* p,int post);

int DeleteDatadoublinklist(doublelinklist_head_tail* p,int data);

bool IsEmptydoublelinklist(doublelinklist_head_tail* p);

int Lengthdoublelinklist(doublelinklist_head_tail* p);

int Changedoublelinklist(doublelinklist_head_tail* p,int post,int data);

int Searchdoublelinklist(doublelinklist_head_tail* p,int data);

#endif